3.6保護 faq.ca.key
[root@localhost ~]# chmod 0400 /etc/ssl/private/faq.ca.key
Root CA搞定後,即可使用這個Root CA 簽發其它的憑證。
如果沒有要購買SSL憑證的話看第4點(假頁面)
是要購買SSL憑證的話請看第5點
4. 製作伺服器憑證
4.1 接著來製作blog.faq-book.com 的SSL憑證
[root@localhost ~]# openssl genrsa -out /etc/ssl/private/blog.faq-book.com.key 1024 [root@localhost ~]# chmod og-rwx /etc/ssl/private/blog.faq-book.com.key
4.2 填寫憑證申請書,向nuface Root CA 做申請
[root@localhost ~]# openssl req -new -key /etc/ssl/private/blog.faq-book.com.key -out /tmp/ blog.faq-book.com .req
4.3填入資料
Country Name (2 letter code) [TW]:TW #請用兩個英文字元表示
State or Province Name (full name) [Taiwan]:Taiwan #省份名稱
Locality Name (eg, city) [Newbury]:Taipei #城市名稱
Organization Name (eg, company) [My Company Ltd]: FAQ-BOOK # 公司名稱
Organizational Unit Name (eg, section) []:CA #部門名稱
Common Name (eg, your name or your server's hostname) []:blog.faq-book.com
#網址名稱, 即公用名稱, 您要使用 SSL 加密的站台名稱
Email Address []:derek@faq-book.com #網站管理者的email address
此外, 尚有一些 extra 的資料, 您可不理會, 直接按 Enter 過去即可, 最後即可產生 blog.faq-book.com.crt 檔
4.4用最高層認證中心(Root CA)簽發憑證
[root@localhost ~]# openssl x509 -req -days 3650 -sha1 \-extfile /etc/ssl/openssl.cnf -extensions v3_req \-CA /etc/ssl/certs/faq.ca.crt -CAkey /etc/ssl/private/faq.ca.key \-CAserial /etc/ssl/faq.ca.srl -CAcreateserial \-in /tmp/bolg.faq-book.com.req -out /etc/ssl/certs/bolg.faq-book.com.crt
4.5刪除憑證申請書
[root@localhost ~]# rm -f /tmp/blog.faq-book.com.req
4.6保護 blog.faq-book.key
[root@localhost ~]# chmod 0400 /etc/ssl/private/blog.faq-book.key
5.3請將其剪下, 另存成一個文字檔, 檔名自定, 如 blog.faq-book.com.crt, 並放置於剛剛所建立為了管理方便起見的 certs 資料夾中(當然, 您可以依據自己的需要, 放置於您決定的路徑即可)
5.4最後, 您只須修改 Apache 的設定檔 ssl.conf
[root@localhost ~]# vi /etc/httpd/conf.d/ssl.conf
Listen 443
#預設值 443
<VirtualHost _default_:443>
# General setup for the virtual host
DocumentRoot "/var/www/html"
ServerName http://www.ooo.xxx:443
ServerAdmin mymail@mail.com.tw
ErrorLog /usr/local/apache/logs/error_log
TransferLog /usr/local/apache/logs/access_log
#設定方式與httpd.conf雷同
# SSL Engine Switch:
# Enable/Disable SSL for this virtual host.
SSLEngine on
#預設值 on
#SSLCertificateFile /etc/pki/tls/certs/localhost.crt
SSLCertificateFile /etc/ssl/certs/winners.ca.crt
#即憑證路徑, 請指向放置憑證檔的路徑
#SSLCertificateKeyFile /etc/pki/tls/private/localhost.key
SSLCertificateKeyFile /etc/ssl/private/winners.ca.key
#即私鑰路徑, 請指向放置私鑰檔的路徑
#SSLCertificateChainFile /etc/pki/tls/certs/server-chain.crt
SSLCertificateChainFile /etc/ssl/certs/winners.com.tw.crt
#若您申請購買SSL伺服器數位憑證, 您務必要設定為購買的SSL憑證
5.5 之後, 您便可重新啟動 apache
[root@localhost ~]# apachectl startssl
#在啟動過程中, 會要求您輸入密碼如下:
Enter pass phrase: #請在此輸入您當初產製金鑰對時的密碼
將 http 與 https 的網頁分開
剛剛處理的是 Apache 的 SSL ,也就是說原本的 WWW 資料可以分別使用 http 及 https 來瀏覽。
那可不可以將這兩個傳輸協定分開呢?
舉例來說,主網頁 (http) 在 /var/www/html 底下,
但 https 則僅能在 /var/www/www 目錄中。是可以的
[root@localhost ~]# vi /etc/httpd/conf.d/ssl.conf
DocumentRoot "/var/www/www"
ServerName *:443 #意思是說,任何主機名稱都是到上述的目錄去!
[root@localhost ~]# apachectl restart
如此一來 https 與 http 是看到不同的地方
SSL憑證設定(上)
全文同步於FAQ-BOOK
IT鐵人文章分享